home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
kcl
/
kcl.lha
/
lsp
/
numlib.c
< prev
next >
Wrap
C/C++ Source or Header
|
1987-06-04
|
23KB
|
1,143 lines
/* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
#include <cmpinclude.h>
#include "numlib.h"
init_numlib(start,size,data)char *start;int size;object data;
{ register object *base=vs_top;register object *sup=base+VM2;vs_check;
Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
base[0]= VV[0];
(void)simple_symlispcall_no_event(VV[24],base+0,1);
base[0]= VV[1];
base[1]= VV[2];
(void)simple_symlispcall_no_event(VV[25],base+0,2);
MF(VV[26],L4,start,size,data);
MF(VV[27],L5,start,size,data);
MF(VV[28],L6,start,size,data);
MF(VV[29],L7,start,size,data);
data->v.v_self[7]=VV[7]=string_to_object(VV[7]);
vs_top=sup;
MF(VV[30],L8,start,size,data);
MF(VV[31],L9,start,size,data);
MF(VV[32],L10,start,size,data);
MF(VV[33],L11,start,size,data);
MF(VV[34],L12,start,size,data);
MF(VV[35],L13,start,size,data);
MF(VV[36],L14,start,size,data);
MF(VV[37],L15,start,size,data);
MF(VV[38],L16,start,size,data);
MF(VV[12],L17,start,size,data);
MF(VV[39],L18,start,size,data);
MF(VV[40],L19,start,size,data);
MF(VV[41],L20,start,size,data);
MF(VV[42],L21,start,size,data);
MF(VV[43],L22,start,size,data);
MF(VV[44],L23,start,size,data);
MF(VV[45],L24,start,size,data);
MF(VV[46],L25,start,size,data);
MF(VV[47],L26,start,size,data);
MF(VV[48],L27,start,size,data);
MF(VV[49],L28,start,size,data);
MF(VV[50],L29,start,size,data);
MF(VV[51],L30,start,size,data);
MF(VV[52],L31,start,size,data);
MF(VV[53],L32,start,size,data);
MF(VV[54],L33,start,size,data);
MF(VV[55],L34,start,size,data);
MF(VV[56],L35,start,size,data);
MF(VV[57],L36,start,size,data);
MF(VV[58],L37,start,size,data);
MF(VV[59],L38,start,size,data);
MF(VV[60],L39,start,size,data);
vs_top=vs_base=base;
}
/* function definition for ISQRT */
static L4()
{ register object *base=vs_base;
register object *sup=base+VM3;
vs_reserve(VM3);
check_arg(1);
vs_top=sup;
TTL:;
if(!(type_of(base[0])==t_fixnum||type_of(base[0])==t_bignum)){
goto T8;}
if(number_compare(base[0],VV[3])>=0){
goto T7;}
T8:;
base[1]= VV[4];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Lerror();
vs_top=sup;
T7:;
if(!(number_compare(small_fixnum(0),base[0])==0)){
goto T15;}
base[1]= VV[3];
vs_top=(vs_base=base+1)+1;
return;
T15:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Linteger_length();
vs_top=sup;
base[1]= vs_base[0];
base[4]= VV[5];
base[6]= base[1];
base[7]= VV[6];
vs_top=(vs_base=base+6)+2;
Lceiling();
vs_top=sup;
base[5]= vs_base[0];
vs_top=(vs_base=base+4)+2;
Lash();
vs_top=sup;
base[2]= vs_base[0];
base[3]= Cnil;
T25:;
base[4]= base[0];
base[5]= base[2];
vs_top=(vs_base=base+4)+2;
Lfloor();
vs_top=sup;
base[3]= vs_base[0];
if(!(number_compare(base[2],base[3])<=0)){
goto T32;}
vs_top=(vs_base=base+2)+1;
return;
T32:;
base[4]= number_plus(base[2],base[3]);
base[5]= VV[6];
vs_top=(vs_base=base+4)+2;
Lfloor();
vs_top=sup;
base[2]= vs_base[0];
goto T25;
}
/* function definition for ABS */
static L5()
{ register object *base=vs_base;
register object *sup=base+VM4;
vs_reserve(VM4);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= base[0];
vs_top=(vs_base=base+1)+1;
Lcomplexp();
vs_top=sup;
if((vs_base[0])==Cnil){
goto T42;}
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lrealpart();
vs_top=sup;
base[2]= vs_base[0];
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lrealpart();
vs_top=sup;
base[3]= vs_base[0];
base[4]= number_times(base[2],base[3]);
base[6]= base[0];
vs_top=(vs_base=base+6)+1;
Limagpart();
vs_top=sup;
base[5]= vs_base[0];
base[7]= base[0];
vs_top=(vs_base=base+7)+1;
Limagpart();
vs_top=sup;
base[6]= vs_base[0];
base[7]= number_times(base[5],base[6]);
base[1]= number_plus(base[4],base[7]);
vs_top=(vs_base=base+1)+1;
Lsqrt();
return;
T42:;
if(!(number_compare(small_fixnum(0),base[0])>0)){
goto T55;}
base[1]= number_negate(base[0]);
vs_top=(vs_base=base+1)+1;
return;
T55:;
vs_top=(vs_base=base+0)+1;
return;
}
/* function definition for PHASE */
static L6()
{ register object *base=vs_base;
register object *sup=base+VM5;
vs_reserve(VM5);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Limagpart();
vs_top=sup;
base[1]= vs_base[0];
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lrealpart();
vs_top=sup;
base[2]= vs_base[0];
vs_top=(vs_base=base+1)+2;
Latan();
return;
}
/* function definition for SIGNUM */
static L7()
{ register object *base=vs_base;
register object *sup=base+VM6;
vs_reserve(VM6);
check_arg(1);
vs_top=sup;
TTL:;
if(!(number_compare(small_fixnum(0),base[0])==0)){
goto T62;}
vs_top=(vs_base=base+0)+1;
return;
T62:;
base[1]= base[0];
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
L5();
vs_top=sup;
base[2]= vs_base[0];
vs_top=(vs_base=base+1)+2;
Ldivide();
return;
}
/* function definition for CIS */
static L8()
{ register object *base=vs_base;
register object *sup=base+VM7;
vs_reserve(VM7);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= number_times(VV[7],base[0]);
vs_top=(vs_base=base+1)+1;
Lexp();
return;
}
/* function definition for ASIN */
static L9()
{ register object *base=vs_base;
register object *sup=base+VM8;
vs_reserve(VM8);
check_arg(1);
vs_top=sup;
TTL:;
base[4]= number_times(VV[7],base[0]);
base[7]= number_times(base[0],base[0]);
base[6]= number_minus(VV[8],base[7]);
vs_top=(vs_base=base+6)+1;
Lsqrt();
vs_top=sup;
base[5]= vs_base[0];
base[3]= number_plus(base[4],base[5]);
vs_top=(vs_base=base+3)+1;
Llog();
vs_top=sup;
base[2]= vs_base[0];
base[3]= number_times(VV[7],base[2]);
base[1]= number_negate(base[3]);
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lcomplexp();
vs_top=sup;
if((vs_base[0])!=Cnil){
goto T74;}
base[3]= base[1];
vs_top=(vs_base=base+3)+1;
Limagpart();
vs_top=sup;
base[2]= vs_base[0];
if(!(number_compare(small_fixnum(0),base[2])==0)){
goto T74;}
base[2]= base[1];
vs_top=(vs_base=base+2)+1;
Lrealpart();
return;
T74:;
vs_top=(vs_base=base+1)+1;
return;
}
/* function definition for ACOS */
static L10()
{ register object *base=vs_base;
register object *sup=base+VM9;
vs_reserve(VM9);
check_arg(1);
vs_top=sup;
TTL:;
base[6]= number_times(base[0],base[0]);
base[5]= number_minus(VV[8],base[6]);
vs_top=(vs_base=base+5)+1;
Lsqrt();
vs_top=sup;
base[4]= vs_base[0];
base[5]= number_times(VV[7],base[4]);
base[3]= number_plus(base[0],base[5]);
vs_top=(vs_base=base+3)+1;
Llog();
vs_top=sup;
base[2]= vs_base[0];
base[3]= number_times(VV[7],base[2]);
base[1]= number_negate(base[3]);
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Lcomplexp();
vs_top=sup;
if((vs_base[0])!=Cnil){
goto T88;}
base[3]= base[1];
vs_top=(vs_base=base+3)+1;
Limagpart();
vs_top=sup;
base[2]= vs_base[0];
if(!(number_compare(small_fixnum(0),base[2])==0)){
goto T88;}
base[2]= base[1];
vs_top=(vs_base=base+2)+1;
Lrealpart();
return;
T88:;
vs_top=(vs_base=base+1)+1;
return;
}
/* function definition for SINH */
static L11()
{ register object *base=vs_base;
register object *sup=base+VM10;
vs_reserve(VM10);
check_arg(1);
vs_top=sup;
TTL:;
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lexp();
vs_top=sup;
base[2]= vs_base[0];
base[4]= number_negate(base[0]);
vs_top=(vs_base=base+4)+1;
Lexp();
vs_top=sup;
base[3]= vs_base[0];
base[1]= number_minus(base[2],base[3]);
base[2]= VV[9];
vs_top=(vs_base=base+1)+2;
Ldivide();
return;
}
/* function definition for COSH */
static L12()
{ register object *base=vs_base;
register object *sup=base+VM11;
vs_reserve(VM11);
check_arg(1);
vs_top=sup;
TTL:;
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
Lexp();
vs_top=sup;
base[2]= vs_base[0];
base[4]= number_negate(base[0]);
vs_top=(vs_base=base+4)+1;
Lexp();
vs_top=sup;
base[3]= vs_base[0];
base[1]= number_plus(base[2],base[3]);
base[2]= VV[9];
vs_top=(vs_base=base+1)+2;
Ldivide();
return;
}
/* function definition for TANH */
static L13()
{ register object *base=vs_base;
register object *sup=base+VM12;
vs_reserve(VM12);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
L11();
vs_top=sup;
base[1]= vs_base[0];
base[3]= base[0];
vs_top=(vs_base=base+3)+1;
L12();
vs_top=sup;
base[2]= vs_base[0];
vs_top=(vs_base=base+1)+2;
Ldivide();
return;
}
/* function definition for ASINH */
static L14()
{ register object *base=vs_base;
register object *sup=base+VM13;
vs_reserve(VM13);
check_arg(1);
vs_top=sup;
TTL:;
base[4]= number_times(base[0],base[0]);
base[3]= number_plus(VV[8],base[4]);
vs_top=(vs_base=base+3)+1;
Lsqrt();
vs_top=sup;
base[2]= vs_base[0];
base[1]= number_plus(base[0],base[2]);
vs_top=(vs_base=base+1)+1;
Llog();
return;
}
/* function definition for ACOSH */
static L15()
{ register object *base=vs_base;
register object *sup=base+VM14;
vs_reserve(VM14);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= one_plus(base[0]);
base[5]= one_minus(base[0]);
base[6]= one_plus(base[0]);
vs_top=(vs_base=base+5)+2;
Ldivide();
vs_top=sup;
base[4]= vs_base[0];
vs_top=(vs_base=base+4)+1;
Lsqrt();
vs_top=sup;
base[3]= vs_base[0];
base[4]= number_times(base[2],base[3]);
base[1]= number_plus(base[0],base[4]);
vs_top=(vs_base=base+1)+1;
Llog();
return;
}
/* function definition for ATANH */
static L16()
{ register object *base=vs_base;
register object *sup=base+VM15;
vs_reserve(VM15);
check_arg(1);
vs_top=sup;
TTL:;
if(number_compare(base[0],VV[8])==0){
goto T121;}
if(!(number_compare(base[0],VV[10])==0)){
goto T120;}
T121:;
base[1]= VV[11];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Lerror();
vs_top=sup;
T120:;
base[2]= one_plus(base[0]);
base[5]= number_times(base[0],base[0]);
base[4]= number_minus(VV[8],base[5]);
vs_top=(vs_base=base+4)+1;
Lsqrt();
vs_top=sup;
base[3]= vs_base[0];
vs_top=(vs_base=base+2)+2;
Ldivide();
vs_top=sup;
base[1]= vs_base[0];
vs_top=(vs_base=base+1)+1;
Llog();
return;
}
/* function definition for RATIONAL */
static L17()
{ register object *base=vs_base;
register object *sup=base+VM16;
vs_reserve(VM16);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= base[0];
vs_top=(vs_base=base+2)+1;
Linteger_decode_float();
Llist();
vs_top=sup;
base[1]= vs_base[0];
base[2]= car(base[1]);
base[3]= cadr(base[1]);
base[4]= caddr(base[1]);
if(!(number_compare(base[4],VV[3])>=0)){
goto T138;}
base[6]= base[0];
vs_top=(vs_base=base+6)+1;
Lfloat_radix();
vs_top=sup;
base[5]= vs_base[0];
base[6]= number_expt(base[5],base[3]);
base[7]= number_times(base[2],base[6]);
vs_top=(vs_base=base+7)+1;
return;
T138:;
base[6]= base[0];
vs_top=(vs_base=base+6)+1;
Lfloat_radix();
vs_top=sup;
base[5]= vs_base[0];
base[6]= number_expt(base[5],base[3]);
base[7]= number_times(base[2],base[6]);
base[8]= number_negate(base[7]);
vs_top=(vs_base=base+8)+1;
return;
}
/* function definition for RATIONALIZE */
static L18()
{ register object *base=vs_base;
register object *sup=base+VM17;
vs_reserve(VM17);
check_arg(1);
vs_top=sup;
TTL:;
base[2]= base[0];
base[3]= VV[12];
if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
goto T145;}
vs_top=(vs_base=base+0)+1;
return;
T145:;
base[2]= base[0];
base[3]= VV[13];
if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
goto T150;}
base[2]= base[0];
base[3]= VV[14];
vs_top=(vs_base=base+2)+2;
L19();
return;
T150:;
base[2]= base[0];
base[3]= VV[15];
if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
goto T157;}
base[2]= base[0];
base[3]= VV[16];
vs_top=(vs_base=base+2)+2;
L19();
return;
T157:;
base[2]= VV[17];
base[3]= base[0];
vs_top=(vs_base=base+2)+2;
Lerror();
return;
}
/* function definition for RATIONALIZE-FLOAT */
static L19()
{ register object *base=vs_base;
register object *sup=base+VM18;
vs_reserve(VM18);
check_arg(2);
vs_top=sup;
TTL:;
if(!(number_compare(small_fixnum(0),base[0])>0)){
goto T166;}
base[3]= number_negate(base[0]);
vs_top=(vs_base=base+3)+1;
L18();
vs_top=sup;
base[2]= vs_base[0];
base[3]= number_negate(base[2]);
vs_top=(vs_base=base+3)+1;
return;
T166:;
if(!(number_compare(small_fixnum(0),base[0])==0)){
goto T171;}
base[2]= VV[3];
vs_top=(vs_base=base+2)+1;
return;
T171:;
base[2]= Cnil;
base[3]= Cnil;
base[9]= base[0];
vs_top=(vs_base=base+9)+1;
Ltruncate();
vs_top=sup;
base[3]= vs_base[0];
base[5]= base[3];
base[4]= base[0];
base[6]= VV[5];
base[7]= VV[5];
base[8]= VV[3];
T177:;
if(number_compare(small_fixnum(0),base[6])==0){
goto T178;}
base[14]= base[5];
base[15]= base[0];
vs_top=(vs_base=base+14)+2;
Lfloat();
vs_top=sup;
base[13]= vs_base[0];
base[15]= base[6];
base[16]= base[0];
vs_top=(vs_base=base+15)+2;
Lfloat();
vs_top=sup;
base[14]= vs_base[0];
vs_top=(vs_base=base+13)+2;
Ldivide();
vs_top=sup;
base[12]= vs_base[0];
base[11]= number_minus(base[0],base[12]);
base[12]= base[0];
vs_top=(vs_base=base+11)+2;
Ldivide();
vs_top=sup;
base[10]= vs_base[0];
vs_top=(vs_base=base+10)+1;
L5();
vs_top=sup;
base[9]= vs_base[0];
if(number_compare(base[9],base[1])>0){
goto T178;}
base[9]= base[5];
base[10]= base[6];
vs_top=(vs_base=base+9)+2;
Ldivide();
return;
T178:;
base[9]= VV[8];
base[12]= base[3];
base[13]= base[0];
vs_top=(vs_base=base+12)+2;
Lfloat();
vs_top=sup;
base[11]= vs_base[0];
base[10]= number_minus(base[4],base[11]);
vs_top=(vs_base=base+9)+2;
Ldivide();
vs_top=sup;
base[2]= vs_base[0];
base[4]= base[2];
base[11]= base[2];
vs_top=(vs_base=base+11)+1;
Ltruncate();
vs_top=sup;
base[3]= vs_base[0];
base[10]= base[3];
base[11]= number_times(base[10],base[5]);
base[9]= number_plus(base[11],base[7]);
base[11]= number_times(base[3],base[6]);
base[10]= number_plus(base[11],base[8]);
base[7]= base[5];
base[8]= base[6];
base[6]= base[10];
base[5]= base[9];
goto T177;
}
/* function definition for FFLOOR */
static L20()
{ register object *base=vs_base;
register object *sup=base+VM19;
vs_reserve(VM19);
if(vs_top-vs_base<1) too_few_arguments();
if(vs_top-vs_base>2) too_many_arguments();
vs_base=vs_base+1;
if(vs_base>=vs_top){vs_top=sup;goto T213;}
vs_top=sup;
goto T214;
T213:;
base[1]= VV[8];
T214:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lfloat();
vs_top=sup;
base[3]= vs_base[0];
base[5]= base[1];
vs_top=(vs_base=base+5)+1;
Lfloat();
vs_top=sup;
base[4]= vs_base[0];
vs_top=(vs_base=base+3)+2;
Lfloor();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[6]= base[3];
base[7]= base[4];
vs_top=(vs_base=base+6)+2;
Lfloat();
vs_top=sup;
base[5]= vs_base[0];
base[6]= base[4];
vs_base=base+5;vs_top=base+7;
return;
}
/* function definition for FCEILING */
static L21()
{ register object *base=vs_base;
register object *sup=base+VM20;
vs_reserve(VM20);
if(vs_top-vs_base<1) too_few_arguments();
if(vs_top-vs_base>2) too_many_arguments();
vs_base=vs_base+1;
if(vs_base>=vs_top){vs_top=sup;goto T228;}
vs_top=sup;
goto T229;
T228:;
base[1]= VV[8];
T229:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lfloat();
vs_top=sup;
base[3]= vs_base[0];
base[5]= base[1];
vs_top=(vs_base=base+5)+1;
Lfloat();
vs_top=sup;
base[4]= vs_base[0];
vs_top=(vs_base=base+3)+2;
Lceiling();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[6]= base[3];
base[7]= base[4];
vs_top=(vs_base=base+6)+2;
Lfloat();
vs_top=sup;
base[5]= vs_base[0];
base[6]= base[4];
vs_base=base+5;vs_top=base+7;
return;
}
/* function definition for FTRUNCATE */
static L22()
{ register object *base=vs_base;
register object *sup=base+VM21;
vs_reserve(VM21);
if(vs_top-vs_base<1) too_few_arguments();
if(vs_top-vs_base>2) too_many_arguments();
vs_base=vs_base+1;
if(vs_base>=vs_top){vs_top=sup;goto T243;}
vs_top=sup;
goto T244;
T243:;
base[1]= VV[8];
T244:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lfloat();
vs_top=sup;
base[3]= vs_base[0];
base[5]= base[1];
vs_top=(vs_base=base+5)+1;
Lfloat();
vs_top=sup;
base[4]= vs_base[0];
vs_top=(vs_base=base+3)+2;
Ltruncate();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[6]= base[3];
base[7]= base[4];
vs_top=(vs_base=base+6)+2;
Lfloat();
vs_top=sup;
base[5]= vs_base[0];
base[6]= base[4];
vs_base=base+5;vs_top=base+7;
return;
}
/* function definition for FROUND */
static L23()
{ register object *base=vs_base;
register object *sup=base+VM22;
vs_reserve(VM22);
if(vs_top-vs_base<1) too_few_arguments();
if(vs_top-vs_base>2) too_many_arguments();
vs_base=vs_base+1;
if(vs_base>=vs_top){vs_top=sup;goto T258;}
vs_top=sup;
goto T259;
T258:;
base[1]= VV[8];
T259:;
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
Lfloat();
vs_top=sup;
base[3]= vs_base[0];
base[5]= base[1];
vs_top=(vs_base=base+5)+1;
Lfloat();
vs_top=sup;
base[4]= vs_base[0];
vs_top=(vs_base=base+3)+2;
Lround();
Llist();
vs_top=sup;
base[2]= vs_base[0];
base[3]= car(base[2]);
base[4]= cadr(base[2]);
base[6]= base[3];
base[7]= base[4];
vs_top=(vs_base=base+6)+2;
Lfloat();
vs_top=sup;
base[5]= vs_base[0];
base[6]= base[4];
vs_base=base+5;vs_top=base+7;
return;
}
/* function definition for LOGNAND */
static L24()
{ register object *base=vs_base;
register object *sup=base+VM23;
vs_reserve(VM23);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[18];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGNOR */
static L25()
{ register object *base=vs_base;
register object *sup=base+VM24;
vs_reserve(VM24);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[19];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGANDC1 */
static L26()
{ register object *base=vs_base;
register object *sup=base+VM25;
vs_reserve(VM25);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[20];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGANDC2 */
static L27()
{ register object *base=vs_base;
register object *sup=base+VM26;
vs_reserve(VM26);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[6];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGORC1 */
static L28()
{ register object *base=vs_base;
register object *sup=base+VM27;
vs_reserve(VM27);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[21];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGORC2 */
static L29()
{ register object *base=vs_base;
register object *sup=base+VM28;
vs_reserve(VM28);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= VV[22];
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+2)+3;
Lboole();
return;
}
/* function definition for LOGNOT */
static L30()
{ register object *base=vs_base;
register object *sup=base+VM29;
vs_reserve(VM29);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= VV[23];
base[2]= base[0];
vs_top=(vs_base=base+1)+2;
Llogxor();
return;
}
/* function definition for LOGTEST */
static L31()
{ register object *base=vs_base;
register object *sup=base+VM30;
vs_reserve(VM30);
check_arg(2);
vs_top=sup;
TTL:;
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+3)+2;
Llogand();
vs_top=sup;
base[2]= vs_base[0];
base[3]= (((number_compare(small_fixnum(0),base[2])==0?Ct:Cnil))==Cnil?Ct:Cnil);
vs_top=(vs_base=base+3)+1;
return;
}
/* function definition for BYTE */
static L32()
{ register object *base=vs_base;
register object *sup=base+VM31;
vs_reserve(VM31);
check_arg(2);
vs_top=sup;
TTL:;
base[2]= make_cons(base[0],base[1]);
vs_top=(vs_base=base+2)+1;
return;
}
/* function definition for BYTE-SIZE */
static L33()
{ register object *base=vs_base;
register object *sup=base+VM32;
vs_reserve(VM32);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= car(base[0]);
vs_top=(vs_base=base+1)+1;
return;
}
/* function definition for BYTE-POSITION */
static L34()
{ register object *base=vs_base;
register object *sup=base+VM33;
vs_reserve(VM33);
check_arg(1);
vs_top=sup;
TTL:;
base[1]= cdr(base[0]);
vs_top=(vs_base=base+1)+1;
return;
}
/* function definition for LDB */
static L35()
{ register object *base=vs_base;
register object *sup=base+VM34;
vs_reserve(VM34);
check_arg(2);
vs_top=sup;
TTL:;
base[3]= base[1];
base[6]= base[0];
vs_top=(vs_base=base+6)+1;
L34();
vs_top=sup;
base[5]= vs_base[0];
base[4]= number_negate(base[5]);
vs_top=(vs_base=base+3)+2;
Lash();
vs_top=sup;
base[2]= vs_base[0];
base[5]= VV[5];
base[7]= base[0];
vs_top=(vs_base=base+7)+1;
L33();
vs_top=sup;
base[6]= vs_base[0];
vs_top=(vs_base=base+5)+2;
Lash();
vs_top=sup;
base[4]= vs_base[0];
base[3]= number_negate(base[4]);
vs_top=(vs_base=base+2)+2;
L27();
return;
}
/* function definition for LDB-TEST */
static L36()
{ register object *base=vs_base;
register object *sup=base+VM35;
vs_reserve(VM35);
check_arg(2);
vs_top=sup;
TTL:;
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+3)+2;
L35();
vs_top=sup;
base[2]= vs_base[0];
base[3]= (((number_compare(small_fixnum(0),base[2])==0?Ct:Cnil))==Cnil?Ct:Cnil);
vs_top=(vs_base=base+3)+1;
return;
}
/* function definition for MASK-FIELD */
static L37()
{ register object *base=vs_base;
register object *sup=base+VM36;
vs_reserve(VM36);
check_arg(2);
vs_top=sup;
TTL:;
base[3]= base[0];
base[4]= base[1];
vs_top=(vs_base=base+3)+2;
L35();
vs_top=sup;
base[2]= vs_base[0];
base[4]= base[0];
vs_top=(vs_base=base+4)+1;
L34();
vs_top=sup;
base[3]= vs_base[0];
vs_top=(vs_base=base+2)+2;
Lash();
return;
}
/* function definition for DPB */
static L38()
{ register object *base=vs_base;
register object *sup=base+VM37;
vs_reserve(VM37);
check_arg(3);
vs_top=sup;
TTL:;
base[3]= base[2];
base[5]= base[1];
base[6]= base[2];
vs_top=(vs_base=base+5)+2;
L37();
vs_top=sup;
base[4]= vs_base[0];
base[7]= base[0];
base[10]= VV[5];
base[12]= base[1];
vs_top=(vs_base=base+12)+1;
L33();
vs_top=sup;
base[11]= vs_base[0];
vs_top=(vs_base=base+10)+2;
Lash();
vs_top=sup;
base[9]= vs_base[0];
base[8]= number_negate(base[9]);
vs_top=(vs_base=base+7)+2;
L27();
vs_top=sup;
base[6]= vs_base[0];
base[8]= base[1];
vs_top=(vs_base=base+8)+1;
L34();
vs_top=sup;
base[7]= vs_base[0];
vs_top=(vs_base=base+6)+2;
Lash();
vs_top=sup;
base[5]= vs_base[0];
vs_top=(vs_base=base+3)+3;
Llogxor();
return;
}
/* function definition for DEPOSIT-FIELD */
static L39()
{ register object *base=vs_base;
register object *sup=base+VM38;
vs_reserve(VM38);
check_arg(3);
vs_top=sup;
TTL:;
base[4]= base[0];
base[7]= base[1];
vs_top=(vs_base=base+7)+1;
L34();
vs_top=sup;
base[6]= vs_base[0];
base[5]= number_negate(base[6]);
vs_top=(vs_base=base+4)+2;
Lash();
vs_top=sup;
base[3]= vs_base[0];
base[4]= base[1];
base[5]= base[2];
vs_top=(vs_base=base+3)+3;
L38();
return;
}